package com.pb.infra.dynamicSetting.dynamTableColumnCfg.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.pb.infra.dynamicSetting.dynamicSettingTable.entity.DictVO;
import lombok.Data;

import java.io.Serializable;

/**
 * 动态表格 列管理(MaFrTableColumn)实体类
 *
 * @author makejava
 * @since 2022-03-09 15:12:08
 */
@Data
@ColumnWidth(40)
public class MaFrDynamTableColumnCfg  implements Serializable {


    @ExcelIgnore
    private String dictLabel;

    @ExcelIgnore
    private String value;

    /**
     * 页码
     */
    @ExcelIgnore
    private Integer pageIndex;

    /**
     * 每页记录数
     */
    @ExcelIgnore
    private Integer pageSize;


    private static final long serialVersionUID = -57319171806324740L;

    @ExcelProperty(index = 0, value = {"序号"})
    private String id;

    /**
     * 表格中显示 的列名
     */
    @ExcelProperty(index = 1, value = {"列-中文名"})
    private String label;
    /**
     * 前端绑定的列值
     */
    @ExcelProperty(index = 2, value = {"列-英文名（表字段）"})
    private String prop;

    /**
     * 列类型
     */
    @ExcelProperty(index = 3, value = {"列-组件类型（默认：input）"})
    private String type;
    /**
     * 关联绑定表格ID
     */
    @ExcelIgnore
    private String tableId;

    @ExcelIgnore
    private String dicUrl;

    @ExcelIgnore
    private DictVO props;


    @ExcelIgnore
    private String propsJson;

    /**
     * 是否查询
     */
    @ExcelProperty(index = 4, value = {"查询（TRUE:开启，FALSE:关闭）"})
    private Boolean search;

    /**
     * 是否模糊
     */
    @ExcelProperty(index = 5, value = {"模糊（TRUE:开启，FALSE:关闭）"})
    private Boolean isLike;

    /**
     * 是否展示
     */
    @ExcelProperty(index = 6, value = {"是否隐藏（TRUE:是，FALSE:否）"})
    private Boolean hide;

    /**
     * 展示的值格式转换
     */
    @ExcelIgnore
    private String format;

    /**
     * 落表的值格式转换
     */
    @ExcelIgnore
    private String valueFormat;

    /**
     * 搜索标题宽度
     */
    @ExcelIgnore
    private String searchLabelWidth;
}

